package cn.stylefeng.guns.modular.demos.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.Getter;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 * 选课信息表
 * </p>
 *
 * @author Frey Wang
 * @since 2022-11-09
 */
@TableName("edu_course_selection_info")
@Data
public class EduCourseSelectionInfo implements Serializable {

    private static final long serialVersionUID=1L;

    @TableId(value = "unique_key", type = IdType.ID_WORKER)
    private String uniqueKey;


    /**
     * 课程编号
     */
    @TableField("curriculum_id")
    private String curriculumId;

    /**
     * 课程名称
     */
    @TableField("curriculum_name")
    private String curriculumName;

    /**
     * 学号
     */
    @TableField("student_id")
    private String studentId;

    /**
     * 学生姓名
     */
    @TableField("student_name")
    private String studentName;

    /**
     * 教师编号
     */
    @TableField("teacher_id")
    private String teacherId;

    /**
     * 教师姓名
     */
    @TableField("teacher_name")
    private String teacherName;

    /**
     * 学分
     */
    @TableField("credit_hour")
    private Float creditHour;

    /**
     * 上课时间
     */
    @TableField("time_for_class")
    private String timeForClass;

    /**
     * 教室
     */
    @TableField("classroom")
    private String classroom;



    /**
     * 有效状态 1、已签到、2、未签到、3、请假
     */
    @TableField("status")
    private Integer status;


    private LocalDateTime signTime;

    @Getter
    public static enum Status{

        SIGN("签到",1),
        NO_SIGN("未签到",2),
        ASK("请假",3);

        private String name;
        private Integer value;

        private Status(String name,Integer value){
            this.name = name;
            this.value = value;
        }
    }

}
